package com.nbsaas.boot.plugin;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * 插件上下文
 * 用于在插件和主系统之间传递信息
 */
public class PluginContext {
    private final Map<String, Object> attributes = new ConcurrentHashMap<>();
    private final PluginManager pluginManager;
    
    public PluginContext(PluginManager pluginManager) {
        this.pluginManager = pluginManager;
    }
    
    /**
     * 设置属性
     * @param key 属性键
     * @param value 属性值
     */
    public void setAttribute(String key, Object value) {
        attributes.put(key, value);
    }
    
    /**
     * 获取属性
     * @param key 属性键
     * @return 属性值
     */
    public Object getAttribute(String key) {
        return attributes.get(key);
    }
    
    /**
     * 获取插件管理器
     * @return 插件管理器实例
     */
    public PluginManager getPluginManager() {
        return pluginManager;
    }
} 